Strongly Typed Views এবং Model Binding দুটি গুরুত্বপূর্ণ ধারণা যা ASP.NET Core MVC অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহার করা হয়। এই দুটি কনসেপ্ট কোডের মান বজায় রাখতে, ডেটার মধ্যে নির্ভুলতা নিশ্চিত করতে এবং ডেভেলপমেন্টকে আরও কার্যকরী ও নিরাপদ করতে সহায়ক।
Strongly Typed Views বলতে এমন ভিউকে বোঝায়, যা একটি নির্দিষ্ট Model (মডেল) বা DTO (Data Transfer Object) কে ব্যবহার করে। এর মানে হলো, ভিউটি শুধু একটি নির্দিষ্ট ডেটা টাইপকে রেন্ডার করতে পারে, এবং এটি সেই মডেলের সকল প্রোপার্টি এবং মেথড অ্যাক্সেস করতে সক্ষম।
ASP.NET Core MVC তে Strongly Typed Views ব্যবহার করার মাধ্যমে:
Strongly Typed View তৈরি করতে, প্রথমে একটি মডেল তৈরি করতে হয়। উদাহরণস্বরূপ, একটি Product
মডেল তৈরি করা যেতে পারে:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
এরপর, ভিউতে এই মডেলটি ব্যবহার করতে হবে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে Product
মডেলটি ব্যবহার করা হয়েছে:
@model Product
<h1>Product Details</h1>
<p>Product Id: @Model.Id</p>
<p>Product Name: @Model.Name</p>
<p>Product Price: @Model.Price</p>
এখানে, @model Product
নির্দেশ করে যে এই ভিউটি Product
মডেলকে ব্যবহার করবে। মডেলের প্রোপার্টিগুলো অ্যাক্সেস করতে @Model
ব্যবহার করা হয়।
Model Binding একটি প্রক্রিয়া, যার মাধ্যমে HTTP রিকোয়েস্ট (যেমন: ফর্ম ডেটা, কুয়েরি স্ট্রিং, URL প্যারামিটার ইত্যাদি) অ্যাক্সেস করে তা মডেল অবজেক্টে রূপান্তর করা হয়। এটি ডেটা ফর্ম্যাটিং, টাইপ কনভার্সন এবং ভ্যালিডেশন প্রক্রিয়ার দায়িত্ব পালন করে। Model Binding এর মাধ্যমে ডেভেলপাররা HTTP রিকোয়েস্টে পাঠানো ডেটা খুব সহজেই মডেল ক্লাসে মাইগ্রেট করতে পারেন।
ASP.NET Core MVC তে Model Binding এর সাহায্যে:
ধরা যাক, একটি Product মডেল রয়েছে এবং একটি ফর্মের মাধ্যমে এই মডেলটির ডেটা পাঠানো হচ্ছে। নিচে উদাহরণ দেওয়া হলো:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
public class ProductController : Controller
{
[HttpPost]
public IActionResult Create(Product product)
{
if (ModelState.IsValid)
{
// এখানে product মডেলটির ডেটা ইনপুট হিসাবে পাওয়া যাবে
// ডেটাবেসে সংরক্ষণ বা অন্যান্য কার্যকলাপ করা যাবে
return RedirectToAction("Index");
}
return View(product);
}
}
এখানে, Create
অ্যাকশন মেথডে Product
মডেলটি ইনপুট হিসেবে আসবে। যখন ফর্মটি সাবমিট হবে, ASP.NET Core স্বয়ংক্রিয়ভাবে ফর্মের ডেটা Product
মডেলে বাইনড করে।
@model Product
<form method="post">
<div>
<label for="Id">Product Id</label>
<input type="text" id="Id" name="Id" value="@Model.Id" />
</div>
<div>
<label for="Name">Product Name</label>
<input type="text" id="Name" name="Name" value="@Model.Name" />
</div>
<div>
<label for="Price">Product Price</label>
<input type="text" id="Price" name="Price" value="@Model.Price" />
</div>
<button type="submit">Submit</button>
</form>
এখানে, Create.cshtml ফর্মে Product মডেলের প্রপার্টিগুলো ইনপুট হিসেবে পাঠানো হচ্ছে। ফর্মটি সাবমিট হলে, মডেল বাইনডিং প্রক্রিয়ার মাধ্যমে এই ডেটা Product
মডেলে রূপান্তরিত হবে এবং কন্ট্রোলারের Create
অ্যাকশন মেথডে পাস হবে।
Strongly Typed Views এবং Model Binding ASP.NET Core MVC অ্যাপ্লিকেশন ডেভেলপমেন্টে গুরুত্বপূর্ণ ভূমিকা রাখে। Strongly Typed Views কোডের নির্ভুলতা নিশ্চিত করে এবং Model Binding সহজভাবে ডেটা অ্যাক্সেস ও প্রক্রিয়াকরণে সহায়তা করে। এই দুটি বৈশিষ্ট্য ব্যবহার করে অ্যাপ্লিকেশনটি আরও টেস্টেবল, রিইউজেবল এবং নিরাপদ করা সম্ভব।
common.read_more